#include<vector>
#include<iostream>

using namespace std;

template<typename T, template <typename,typename> class C >
class Container {
	C<T,allocator<T> > data;
	
public:
	Container():data() {
	}

	Container(T const & item):data(item) {
	}
	
	Container(Container const & c):data(c.data) {
	}
	
	~Container() {
	}
	
	size_t size() const {
		return data.size();
	}
	
	void push_back(T const & item) {
		data.push_back(item);
	}
	
	void print() const {
		for (size_t i = 0; i < data.size(); i++)
			cout << data[i] << " ";
		cout << endl;
	}
};